Newsgroups: comp.lang.lisp,news.answers,comp.answers Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!usc!howland.reston.ans.net!noc.near.net!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!mkant From: mkant+@cs.cmu.edu (Mark Kantrowitz) Subject: FAQ: Lisp Window Systems and GUIs 7/7 [Monthly posting] Message-ID: Followup-To: poster Summary: X Window System, GUIs and other Window Systems in Lisp Sender: news@cs.cmu.edu (Usenet News System) Supersedes: Nntp-Posting-Host: a.gp.cs.cmu.edu Reply-To: lisp-faq@think.com Organization: School of Computer Science, Carnegie Mellon Date: Fri, 13 Aug 1993 07:06:23 GMT Approved: news-answers-request@MIT.Edu Expires: Fri, 24 Sep 1993 07:05:45 GMT Lines: 201 Xref: senator-bedfellow.mit.edu comp.lang.lisp:10784 news.answers:11324 comp.answers:1585 Archive-name: lisp-faq/part7 Last-Modified: Mon Jul 19 19:57:48 1993 by Mark Kantrowitz Version: 1.35 ;;; **************************************************************** ;;; Lisp Window Systems and GUIs *********************************** ;;; **************************************************************** ;;; Written by Mark Kantrowitz and Barry Margolin ;;; lisp-faq-7.text -- 11660 bytes This post contains Part 7 of the Lisp FAQ. If you think of questions that are appropriate for this FAQ, or would like to improve an answer, please send email to us at lisp-faq@think.com. Topics Covered (Part 7): [7-1] How can I use the X Window System or other GUIs from Lisp? [7-2] What Graphers/Browsers are available? Search for \[#\] to get to question number # quickly. ---------------------------------------------------------------- Subject: [7-1] How can I use the X Window System or other GUIs from Lisp? There are several GUI's and Lisp interfaces to the X Window System. Mailing lists for these systems are listed in the answer to question [4-7]. Various vendors also offer their own interface-building packages. CLX provides basic Common Lisp/X functionality. It is a de facto standard low-level interface to X, providing equivalent functionality to XLib, but in Lisp. It is also a good source for comparing the foreign function calls in various Lisps. Does *not* depend on CLOS. Available free as part of the X release in the contrib directory. Also available form export.lcs.mit.edu:/contrib as the files CLX.Manual.tar.Z and CLX.R5.02.tar.Z. Primary Interface Author: Robert W. Scheifler Send bug reports to bug-clx@expo.lcs.mit.edu. CLIM (Common Lisp Interface Manager) is a portable, graphical user interface toolkit originally developed by Symbolics and International Lisp Associates, and now under joint development by several Lisp vendors, including Symbolics, Franz, Lucid, Illudium, and Harlequin. It is intended to be a portable successor of Symbolics UIMS (Dynamic Windows, Presentations Types). CLIM 2.0 also supports more traditional toolkit-style programming. It runs on Symbolics Lisp Machines; Allegro and Lucid on several Unix platforms; Symbolics CLOE on 386/486 IBM PCs running Windows; and MCL on Apple Macintoshes. It is *not* free, and with the exception of Macintoshes, if it is available it can be purchased from the vendor of the Lisp system you are using. For the Macintosh version write to Illudium: Contact: Dennis Doughty - Doughty@ileaf.com or contact: Bill York - York@lucid.com CLIM includes a general purpose grapher. The CLIM 2.0 SPECIFICATION is available by anonymous ftp from ftp.uu.net:vendor/franz/clim/clim.ps.Z. To be added to the mailing list send mail to clim-request@bbn.com. CLUE (Common Lisp User-Interface Environment) is from TI, and extends CLX to provide a simple, object-oriented toolkit (like Xt) library that uses CLOS. Provides basic window classes, some stream I/O facilities, and a few other utilities. Still pretty low level (it's a toolkit, not widget library). Available free by anonymous ftp from csc.ti.com:pub/clue.tar.Z Written by Kerry Kimbrough. Send bug reports to clue-bugs@dsg.csc.ti.com. CLIO (Common Lisp Interactive Objects) is a GUI from the people who created CLUE. It provides a set of CLOS classes that represent the standard components of an object-oriented user interface -- such as text, menus, buttons, scroller, and dialogs. It is included as part of the CLUE distribution, along with some packages that use it, both sample and real. Allegro Common Windows provides a front end to CLX. Uses CLOS. It is *not* free. Contact info@franz.com for more information. [Intellicorp's KEE4.0 comes with Common Windows also. They've implemented the CW spec to run on Lucid 4.0 on Sparcs, HP300/400s, HP700/800s, and IBM RS6000s. Contact tait@intellicorp.com for more information.] The LispWorks Toolkit is an extensible CLOS-based widget set that uses CLX and CLUE. The LispWorks programming environment has been written using the toolkit and includes: an Emacs-like editor, listener, debugger, profiler, and operating system shell; browsers/graphers for classes, generic functions, processes, windows, files, compilation errors, source code systems, and setting LispWorks parameters; and an interactive interface builder and complete online hypertext documentation. Contact: lispworks-request@harlqn.co.uk CLM (Common Lisp Motif) and GINA (Generic Interactive Application) and IB (Interface Builder). CLM runs Motif widgets in a separate C process, with minimal work on the Lisp side and communicates between C and Lisp using TCP sockets. Runs in Allegro CL, Sun CL, CMU CL, Lucid CL, and Symbolics Genera. GINA uses CLOS. Available free in the X contrib directory or by anonymous ftp from either export.lcs.mit.edu:/contrib or ftp.gmd.de:/gmd/gina [129.26.8.90] as the files CLM+GINA.README, CLM2.2.tar.Z and GINA2.2.tar.Z. CLM was written by Andreas Baecker , GINA by Mike Spenke , and IB by Thomas Berlage . Contact Mike Spenke for more info. To be added to the mailing list, send a message to gina-users-request@gmdzi.gmd.de. EW (Express Windows) is intended to mimic Symbolics' Dynamic Windows user and programmer interfaces. It is available free in the ew/ subdirectory of the Lisp Utilities repository. It is no longer under active development. Runs on Sun/Lucid, Franz Allegro, and Symbolics. Should port easily to other Lisps with CLX. Written by Andrew L. Ressler . Garnet is a large and flexible GUI. Lots of high-level features. Does *not* depend on CLOS, but does depend on CLX. Garnet (version 2.0 and after) is now in the public domain, and has no licensing restrictions, so it is available to all foreign sites and for commercial uses. Detailed instructions for obtaining it by anonymous ftp are available by anonymous ftp from a.gp.cs.cmu.edu [128.2.242.7] as the file /usr/garnet/garnet/README. Garnet includes the Lapidiary interactive design tool, C32 constraint editor, spreadsheet object, Gilt Interface Builder, automatic display management, two widget sets (Motif look-and-feel and Garnet look-and-feel), support for gesture recognition, and automatic constraint maintenance, application data layout and PostScript generation. Runs in virtually any Common Lisp environment, including Allegro, Lucid, CMU, and Harlequin Common Lisps on Sun, DEC, HP, Apollo, IBM 6000, and many other machines. Garnet helps implement highly-interactive, graphical, direct manipulation programs for X/11 in Common Lisp. Typical applications include: drawing programs similar to Macintosh MacDraw, user interfaces for expert systems and other AI applications, box and arrow diagram editors, graphical programming languages, game user interfaces, simulation and process monitoring programs, user interface construction tools, CAD/CAM programs, etc. Contact Brad Myers (bam@a.gp.cs.cmu.edu) for more information. Bug reports should be sent to garnet-bugs@cs.cmu.edu. Administrative questions should be sent to garnet@cs.cmu.edu or garnet-request@cs.cmu.edu. Garnet is discussed on the newsgroup comp.windows.garnet (which is gatewayed to garnet-users@cs.cmu.edu for those without access to netnews). LispView is a GUI written at Sun that does not use CLX. Instead it converts Xlib.h directly into Lucid foreign function calls. It is intended to be fast and tight. Uses CLOS. Available for anonymous ftp from export.lcs.mit.edu:contrib/lispview1.1 and xview.ucdavis.edu:pub/XView/LispView1.1 Includes a general-purpose 2D grapher library. Written by Hans Muller (hmuller@sun.com). Runs in Sun CL and Lucid CL. Direct questions about the source provision to lispview@Eng.Sun.Com. WINTERP (Widget INTERPreter) was developed at HP and uses the Xtoolkit and Motif widget set. It is based on David Betz's XLISP interpreter, which is a small subset of Common Lisp that runs on IBM PCs. Runs on DecStation 3100, HP9000s, Sun3, Sparcs. It is a free-standing Lisp-based tool for setting up window applications. Available free in X contrib directory, or by anonymous ftp from export.lcs.mit.edu:contrib/winterp-???.tar.Z where ??? is the version number. If you do not have Internet access you may request the source code to be mailed to you by sending a message to winterp-source%hplnpm@hplabs.hp.com or hplabs!hplnpm!winterp-source. Contact Niels Mayer mayer@hplabs.hp.com for more information. YYonX is a port of the YY system to X windows. Runs in Lucid CL, Allegro CL, and Symbolics Genera. Supports kanjii. Developed at Aoyama Gakuin University. Available free by anonymous ftp from ftp.csrl.aoyama.ac.jp:YY/ Written by Masayuki Ida Picasso is a CLOS based GUI, and is available from postgres.berkeley.edu:/pub/Picasso-2.0 toe.cs.berkeley.edu:pub/picasso/ It runs on DecStation 3100s, Sun3 (SunOs), Sun4 (Sparc), and Sequent Symmetry in Allegro CL. The file pub/xcl.tar.Z contains X-Common Lisp interface routines. Send mail to picasso@postgres.berkeley.edu for more information. [Picasso is no longer an actively supported system.] XIT (X User Interface Toolkit) is an object-oriented user interface development environment for the X Window System based on Common Lisp, CLOS, CLX, and CLUE. It has been developed by the Research Group DRUID at the Department of Computer Science of the University of Stuttgart (druid@informatik.uni-stuttgart.de) as a framework for Common Lisp/CLOS applications with graphical user interfaces for the X Window System. XIT contains user interface toolkits, including general building blocks and mechanisms for building arbitrary user interface elements and a set of predefined common elements (widgets), as well as high-level interactive tools for constructing, inspecting, and modifying user interfaces by means of direct manipulation. Although the system kernel is quite stable, XIT is still under active development. XIT can be obtained free by anonymous ftp from ftp.informatik.uni-stuttgart.de (129.69.211.2) in the directory /pub/xit/. ---------------------------------------------------------------- Subject: [7-2] What Graphers/Browsers are available? Most of the graphics toolkits listed above include graphers. In particular, CLIM, Lispworks, Garnet, and Lispview all include graphers. The ISI grapher used to be in fairly widely used, but the CLIM grapher seems to be overtaking it in popularity. A simple grapher like the one described in "Lisp Lore" by Bromeley and Lamson is available by anonymous ftp from ftp.csrl.aoyama.ac.jp:graphers/ as the file graphers.tar.Z.uu. It includes versions for CLX, Express Windows, NCW, CLUE, CLM/GINA, Common Windows, LispView, Winterp, CLIM and YY. Several implementations have a mouse sensitivity feature and others have implementation-specific features. A copy has been made available from the Lisp Utilities Repository. For further information, contact Masayuki Ida . ---------------------------------------------------------------- ;;; *EOF*